<!DOCTYPE html>
<html lang="en">

<head>
	<title>Acknowledgements</title>
	<meta charset="utf-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1" />
	<script src="/library/js/headscripts.js"></script>
	<link rel="stylesheet" href="/library/content/gateway/gateway.scss">
</head>

<script>
	includeWebjarLibrary("bootstrap", {includeCss: true});
</script>

<body>
	<div class="p-3 p-2 bg-opacity-10 border-bottom">
		<h3 class="display-6">Acknowledgements</h3>
		<p class="text-muted">
			Copyright 2003-<span id="year">current Year</span> The Apereo Foundation. All rights reserved.
		</p>
		<p>
			Sakai is licensed for use pursuant to the
			<a href="http://opensource.org/licenses/ecl2.php">
				Educational Community License v. 2.0
			</a>. Portions of Sakai are copyrighted by other parties, including the
			parties listed below. Please refer to the licenses directory for
			complete copyright and licensing information.
		</p>
	</div>
	<div id="ackList" class="row m-4"></div>

	<script>
		const currentYear = new Date().getFullYear();
		document.getElementById("year").innerHTML = currentYear;
		
		// Add more acknowledgements as needed
		const acknowledgements = [
			{
				name: "Sakai Community",
				url: "https://www.sakailms.org/sakai-lms-community",
				image: "sakaic.jpg",
			},
			{
				name: "Apache Foundation",
				url: "https://www.apache.org/",
				image: "apache.png",
			},
			{
				name: "WebJars",
				url: "https://www.webjars.org/",
				image: "webjars.png",
			},
			{
				name: "jsoup",
				url: "https://jsoup.org/",
				image: "jsoup.png",
			},
			{
				name: "Bootstrap",
				url: "https://getbootstrap.com/",
				image: "bootstrap.png",
			},
			{
				name: "Lombok Project",
				url: "https://projectlombok.org/",
				image: "lombok.png",
			},
			{
				name: "Quartz",
				url: "https://www.quartz-scheduler.org/",
				image: "quartz.png",
			},
			{
				name: "opencsv",
				url: "http://opencsv.sourceforge.net/",
				image: "openscv.png",
			},
			{
				name: "Simple",
				url: "http://simple.sourceforge.net",
				image: "simple-xml.png",
			},
			{
				name: "Spring",
				url: "https://spring.io",
				image: "spring.png",
			},
			{
				name: "SLF4J",
				url: "https://www.slf4j.org/",
				image: "slf4j.png",
			},
			{
				name: "mockito",
				url: "https://site.mockito.org/",
				image: "mockito.png",
			},
			{
				name: "Joda-Time",
				url: "https://www.joda.org/joda-time/",
				image: "jodatime.png",
			},
			{
				name: "Weld",
				url: "https://weld.cdi-spec.org/",
				image: "weld.png",
			},
			{
				name: "Jayway JsonPath",
				url: "https://github.com/json-path/JsonPath",
				image: "jsonpath.png",
			},
			{
				name: "dropzone",
				url: "https://www.dropzonejs.com/",
				image: "dropzone.png",
			},
			{
				name: "qTip2",
				url: "https://github.com/qTip2/qTip2/",
				image: "qtip2.png",
			},
			{
				name: "handlebars",
				url: "https://handlebarsjs.com/",
				image: "handlebars.png",
			},
			{
				name: "Moment.js",
				url: "https://momentjs.com/",
				image: "momentjs.png",
			},
			{
				name: "jQuery",
				url: "https://jquery.com/",
				image: "jquery.jpg",
			},
			{
				name: "PNotify",
				url: "https://sciactive.com/pnotify/",
				image: "pnotify.png",
			},
			{
				name: "elFinder",
				url: "https://github.com/Studio-42/elFinder",
				image: "elfinder.png",
			},
			{
				name: "Font Awesome",
				url: "https://fontawesome.com ",
				image: "fontawesome.png",
			},
			{
				name: "Cropper",
				url: "https://fengyuanchen.github.io/cropper/",
				image: "cropper.png",
			},
			{
				name: "Select2",
				url: "https://select2.org/",
				image: "select2.png",
			},
			{
				name: "FullCalendar",
				url: "https://fullcalendar.io/",
				image: "fullcalendar.png",
			},
			{
				name: "DataTables",
				url: "https://datatables.net/",
				image: "datatables.png",
			},
			{
				name: "Featherlight",
				url: "https://noelboss.github.io/featherlight/",
				image: "featherlight.png",
			},
			{
				name: "Awesomplete",
				url: "https://leaverou.github.io/awesomplete/",
				image: "awesomplete.png",
			},
			{
				name: "WebRtc",
				url: "https://webrtc.org/",
				image: "webrtc.png",
			},
			{
				name: "RecordRtc",
				url: "https://github.com/muaz-khan/RecordRTC",
				image: "recordrtc.png",
			},
			{
				name: "mathjs",
				url: "https://mathjs.org/",
				image: "mathjs.png",
			},
			{
				name: "jsMath",
				url: "http://www.math.union.edu/~dpvc/jsMath/welcome.html",
				image: "jsmath.png",
			},
			{
				name: "UrlRewriteFilter",
				url: "https://tuckey.org/urlrewrite/",
				image: "urlrewritefilter.png",
			},
			{
				name: "CodeMirror",
				url: "https://codemirror.net/",
				image: "codemirror.png",
			},
			{
				name: "CKEditor",
				url: "https://ckeditor.com/",
				image: "ckeditor.png",
			},

		];
		const acknowledgementsList = document.getElementById("ackList");

		acknowledgements.forEach((ack) => {
			const {name, url, image} = ack;
			const imageSrc = `acknowledgements_images/${image}`;

			const card = document.createElement("div");
			card.classList.add(
				"col-lg-3",
				"col-md-4",
				"col-sm-6",
				"col-12",
				"mb-3"
			);

			const cardInnerHtml = `
				<div class="card text-center">
					<img class="card-img-top" src="${imageSrc}" alt=${name}>
					<div class="card-body">
						<h5 class="card-title fw-normal">${name}</h5>
						<a href="${url}" class="btn btn-outline-secondary w-100" target="_blank" aria-label="Explore ${name}">Explore</a>
					</div>
				</div>
			`;

			card.innerHTML = cardInnerHtml;
			acknowledgementsList.appendChild(card);
		});

	</script>
</body>

</html>